﻿using System;
using System.Collections.Generic;
using System.Linq;
using System.Text;
using System.Threading.Tasks;

namespace 战棋模拟器
{
    class 小鬼妈妈 : Minion
    {
        public List<Minion> Devils = new List<Minion>()
        {
            new 安尼赫兰战场军官(),
            new 粗俗的矮劣魔(),
            new 攻城恶魔(),
            new 玛尔加尼斯(),
            new 纳斯雷兹姆监工(),
            new 漂浮观察者(),
            new 小鬼囚徒(),
            new 小鬼首领(),
            new 邪魔仆从(),
            new 虚空领主()
        };
        public 小鬼妈妈() : base()
        {
            Star = 6;
            Attack = 6;
            Health = 8;
            Race = race.devil;
            count = 1;
        }


        public override void Getdamaged(int n)
        {
            if (Skills[3])
            {
                base.Getdamaged(n);
                return;
            }
            byte[] buffer = Guid.NewGuid().ToByteArray();
            int iSeed = BitConverter.ToInt32(buffer, 0);
            Random ran = new Random(iSeed);
            int Randkey;
            for(int i = count;i>0;i--)
            {
                Randkey = ran.Next(0, Devils.Count);
                Minion m = Devils[Randkey].NewOne();
                pool.Spawn(pool, Place + 1, m);//注意卡德加复制的一定是没有嘲讽的
                m.Skills[2] = true;
            }
            base.Getdamaged(n);
        }


        public override Minion NewOne()
        {
            return new 小鬼妈妈();
        }
    }


    class 小鬼妈妈_金色 : 小鬼妈妈
    {
        public 小鬼妈妈_金色() : base()
        {
            Attack *= 2;
            Health *= 2;
            count *= 2;
            buff *= 2;
        }
        


        public override Minion NewOne()
        {
            return new 小鬼妈妈_金色();
        }
    }
}
